package com.jtny.nytb.equipment.vo.rule;

import com.jtny.component.entity.BaseDTO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.apache.ibatis.annotations.Update;

import javax.validation.constraints.Max;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;

/**
 * 设备编号规则表单VO
 *
 * @author 智慧能源中心 - 伍天宇
 * @package com.jtny.nytb.equipment.vo
 * @fileName RuleNumberFormVO.java
 * @createTime 2023年09月15日 15:08
 * @Copyright© 2023 jtny
 * 江投能源技术研究院 版权所有
 */
@Data
@ApiModel(value = "RuleNumberFormVO", description = "设备编号规则表单VO")
public class RuleNumberFormVO extends BaseDTO implements Serializable {

    private static final long serialVersionUID = 1L;

//    /**
//     * id
//     */
//    @ApiModelProperty("id")
//    @NotNull(message = "id不能为空", groups = {Update.class})
//    private Long id;

    /**
     * 设备编号级别名称
     */
    @ApiModelProperty(value = "设备编号级别名称", required = true)
    @NotBlank(message = "设备编号级别名称不能为空")
    private String name;

    /**
     * 规则类型 1 字典类型 2 顺序号 3 随机数
     */
    @ApiModelProperty(value = "规则类型 1 字典类型 2 顺序号 3 随机数", required = true)
//    @ValueValid(intValues = {1, 2, 3}, message = "规则类型非法", ignoreEmpty = false)
    private Integer type;

    /**
     * 编号长度
     */
    @ApiModelProperty(value = "编号长度", required = true)
    @Max(value = 10, message = "编号长度不能超过10位")
    @NotNull(message = "编号长度不能为空")
    private Integer len;

    /**
     * 设备编号级别顺序号
     */
    @ApiModelProperty(value = "设备编号级别顺序号")
    private Integer sortNumber;

    /**
     * 设备编号级别描述
     */
    @ApiModelProperty(value = "设备编号级别描述")
    private String description;

    @Override
    @ApiModelProperty("id")
    @NotNull(message = "id不能为空", groups = {Update.class})
    public Long getId() {
        return super.getId();
    }

    @Override
    public void setId(Long id) {
        super.setId(id);
    }
}
